12.4 Znaky na obrazovke
Obrazovka môže byť v textovom alebo v grafickom móde. V textovom móde obvykle 8*8 bodov predstavuje jeden znak. Ak máme 25 riadkov a v každom riadku 80 znakov, potom v čierno-bielej verzii potrebujeme 80*25*8*8 = 128000 bit = 16000 Byte (cca. 165 kB) priestoru na uchovanie obsahu obrazovky. Štandardne máme 16 rôznych farieb na obrazovke - ich kódy sú 0 až 15. V Turbo Pascale máme definovanú pre každú farbu svoju konštantu (anglický názov danej farby):
0 | Black | Čierna | | 8 | DarkGray | Tmavosivá |
1 | Blue | Modrá | | 9 | LightBlue | Svetlomodrá |
2 | Green | Zelená | | 10 | LightGreen | Svetlozelená |
3 | Cyan | Tyrkysová | | 11 | LightCyan | Svetlotyrkysová |
4 | Red | Červená | | 12 | LightRed | Svetločervená |
5 | Magenta | Fialová | | 13 | LightMagenta | Svetlofialová |
6 | Brown | Hnedá | | 14 | Yellow | Žltá |
7 | LightGray | Svetlosivá | | 15 | White | Biela |
Pre každý znak môžeme zadať farbu znaku, farbu pozadia a spôsob zobrazenia. Tieto údaje sú uložené v Byte attribútum:
- 0-3. bit predstavuje farbu znaku a nastavuje sa pomocou procedúry TextColor(Farba). V tomto prípade prípustným sú všetky farby. Preddefinovanou farbou je svetlosivá.
- 4-6. bit predstavuje farbu pozadia a nastavuje sa pomocou procedúry TextBackGround(Farba). V tomto prípade prípustným sú farby 0 až 7. Preddefinovanou farbou je čierna.
- 7. bit ak je zapnutý, potom znak bliká inak nie. Preddefinovanou hodnotou je 0. Znak nebliká.
Tieto informácie sú uložené v konštante TextAttr jednotky Crt. Konštanta TextAttr má typ Byte. Zmeny môžeme vykonať aj bezprostredne zmenou tejto konštanty.
Ďalšími užitočnými funkciami sú:
WhereX - vracia aktuálnu X-ovú súradnicu kurzora.
WhereY - vracia aktuálnu Y-ovú súradnicu kurzora.
Ďalšími užitočnými procedúrami sú:
HighVideo - mení intenzitu farieb (z tmavých sa stanú svetlé).
LowVideo - mení intenzitu farieb (zo svetlých sa stanú tmavé).
12.5 Tvorba okien
Okno nie je nič iné ako zúženie obrazovky - obraz v obraze. V tomto prípade budú sa týkať príkazy tejto časti obrazovky. Definovať okno môžeme nasledujúcou procedúrou
Window(LaveHorneX,LaveHorneY,PraveDolneX,PraveDolneY) ;
Táto procedúra nastaví aktívne okno. Jej parametre sú typu Byte a predstavujú súradnice ľavého horného rohu a pravého dolného rohu aktévneho okna v absolútnych súradniciach celej obrazovky.
Jednotka Crt definuje dve konštanty, ktoré obsahujú súradnice aktívneho okna:
Var | |
| WindMin, WindMax: Word ; |
WindMin obsahuje súradnice ľavého horného rohu, kým WinMax - pravého dolného. Horný Byte (high) je Y-ová súradnica a dolný (low) - X-ová súradnica. Začína sa od 0.
- Ľavý horný roh: (Lo(WindMin)+1,Hi(WindMin)+1)
- Pravý dolný roh: (Lo(WindMax)+1,Hi(WindMax)+1)
Úloha
Definujme na svetlosivom podklade modré okno. Údaje si pýtajme v tomto okne. Na konci programu vráťme pôvodné farby!
|
|